The use of computers has greatly facilitated operations such as the entry of data or the command of machines by providing user-friendly graphical interfaces that can be adapted to the needs of the user. Such interfaces are also called graphical user interface (GUI).
Specific programs, called graphical interface design programs, give a designer the possibility of designing a graphical interface by selecting graphics and/or interactive elements in a tool library. These elements correspond, for example, to check boxes, pull-down menus, boxes corresponding to work areas for entering data through a keyboard, etc. Properties associated with each element are selected by the designer. For example, a property of a check box is the fact that the box is checked or unchecked. A property of a data entry box is the value of data entered therein. Another property of a data entry box is the fact that data entry in the box is allowed (the box is said to be enabled) or that no data entry in the box is allowed (the box is said to be disabled).
Once the different elements of the graphical interface, and the associated properties, are selected, the graphical interface design program also gives the possibility to the designer of adding event programs that will be linked to the graphical interface. An event program is a program including a sequence of instructions that, when the property of an element has been changed, modifies the value of another property of the same element or the property of another element of the graphical interface. The event programs are commonly written by the designer using a programming language such as the visual basic. JAVA or a scripting language like JavaScript. Once the event programs are written, they can be converted into a computer executable form by a compiler. A graphical interface program is then obtained. When the graphical interface program is executed by a user on a computer, a graphical interface is displayed as configured by the designer. When the user enters new data, checks boxes, etc., properties of the elements of the graphical interface are modified according to the event programs associated with the graphical interface.
Such a method for designing a graphical interface has several drawbacks. First, as the event programs are written by the designer, the designer is required to have enough knowledge of the programming language accepted by the graphical interface design program. Moreover, the designer must think of all the event programs he wants to associate with the graphical interface since the graphical interface design program generally provides no help during the writing of the event programs. Moreover, it is up to the designer to search for the inconsistencies in event programs. An inconsistency corresponds, for example, to a never-ending loop which would occur when the graphical interface program is executed. Indeed, the compiler generally only provides a check of the syntax of the event programs but does not provide a complete check of a good execution of the event programs for all the possible values of the properties of the elements of the graphical interface.